package com.nec.recommend.module.system.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.nec.recommend.module.system.entity.SysUser;
import com.nec.recommend.module.system.dto.SelectData;
import com.nec.recommend.module.system.dto.UserInfoDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;


import java.util.List;

/**
 * 用户表;(sys_user)表数据库访问层
 *
 * @author : limingzhen
 * @date : 2022-12-19
 */
@Mapper
public interface UserMapper extends BaseMapper<SysUser> {
    /**
     * 分页查询指定行数据
     *
     * @param page    分页参数
     * @param wrapper 动态查询条件
     * @return 分页对象列表
     */
    IPage<SysUser> selectByPage(IPage<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> wrapper);

    List<SelectData> getUserSelectDataPerm(@Param("permUserList") List<Long> permUserList, @Param("orgId") Long orgId);

    UserInfoDTO getUserInfo(String account);

    UserInfoDTO getUserInfoById(Long userId);

    List<SelectData> getUserSelectData();

}